package com.boarsoft.flow.exchange;

import java.util.Map;

import com.boarsoft.flow.core.SimpleFlow;

public interface FlowExchanger {
	/**
	 * 流程热交换（发布）<br/>
	 * 1，把data中的内容保存到指定目录的指定文件中；<br/>
	 * 2，把文件内容交换到内存中并使用spring实例化
	 * 
	 * @param id
	 *            flow在表中的ID，用于确定flow的保存路径
	 * @param code
	 *            flow文件名
	 * @param content
	 *            flow流程文件的内容
	 * @param refs
	 *            这个flow依赖的项
	 * @return SimpleFlow
	 */
	SimpleFlow exchange(String id, String code, String content, Map<String, String> refs);

	boolean importFlow(String id, String flowId, String flowPath, Map<String, String> refs);
}
